/*
 * <p>Copyright ®Alyce_WX版权所有。</p>
 * 类名:UserRoleDAO
 * 创建人:alyce_wx
 * 创建时间:2017-03-30
 */

package com.wx.demo.wcd.infrastructure.dao;

import java.util.Map;

import com.yjhl.framework.dao.DAO;
import com.wx.demo.wcd.domain.po.UserRolePO;
import com.wx.demo.wcd.domain.pk.UserRolePK;
import com.wx.demo.wcd.domain.qo.UserRoleQO;

/**
 * UserRoleDAO interface
 *
 * @author alyce_wx
 * @since 1.8
 * @version 1.0.0
 */

public interface UserRoleDao extends DAO<UserRolePO, UserRoleQO, UserRolePK> {
	
	/**
	 * 根据主键标识 userRoleId获取UserRolePO对象。
	 *
	 * @param userRoleId UserRole的主键标识
	 * @return UserRolePO对象， 如果没有查询到结果返回null
	 * @since 1.8
	 * @version 1.0.0
	 */
	public UserRolePO getByPk(String userRoleId);
	
	/**
	 * 使用Map类型的参数根据主键标识userRoleId对表UserRole进行更新。 Map中的key必须是UserRolePO的属性名称。
	 *
	 * @param entity 要进行更新的列。Map中的key必须是UserRolePO的属性名称。
	 * @param userRoleId UserRole的主键标识.
	 * @return 更新记录的条数
	 * @since 1.8
	 * @version 1.0.0
	 */
	public int updateMapByPk(Map<String, Object> entity, String userRoleId);
	
	/**
	 *  根据主键标识userRoleId删除数据。
	 *
	 * @param userRoleId UserRole的主键标识。
	 * @return 删除记录条数
	 * @since 1.8
	 * @version 1.0.0
	 */
	public int deleteByPk(String userRoleId);
}
